Z Sorting Function Selectors
A drawing engine must support a z sorting function that determines which surfaces are to be removed during hidden surface removal. You specify an engine's z sorting function by assigning a value to itskQATag_ZFunction
state variable. The default value of this variable for a drawing engine that is z buffered iskQAZFunction_LT
; the default value (and also the only possible value) for a draw context that is not z buffered iskQAZFunction_None
.
- IMPORTANT
- If a drawing engine supports
kQAOptional_PerspectiveZ
and if the state variablekQATag_PerspectiveZ
is set to the valuekQAPerspectiveZ_On
, then the state variablekQATag_ZFunction
should be interpreted so that it yields the same result as when the value ofkQATag_PerspectiveZ
iskQAPerspectiveZ_Off
.
#define kQAZFunction_None 0 #define kQAZFunction_LT 1 #define kQAZFunction_EQ 2 #define kQAZFunction_LE 3 #define kQAZFunction_GT 4 #define kQAZFunction_NE 5 #define kQAZFunction_GE 6 #define kQAZFunction_True 7Constant descriptions
kQAZFunction_None
- The z value is neither tested nor written.
kQAZFunction_LT
- A new z value is visible if it is less than the value in the z buffer.
kQAZFunction_EQ
- A new z value is visible if it is equal to the value in the z buffer. This selector should be passed only to drawing engines that support the optional OpenGL features.
kQAZFunction_LE
- A new z value is visible if it is less than or equal to the value in the z buffer. This selector should be passed only to drawing engines that support the optional OpenGL features.
kQAZFunction_GT
- A new z value is visible if it is greater than the value in the z buffer. This selector should be passed only to drawing engines that support the optional OpenGL features.
kQAZFunction_NE
- A new z value is visible if it is not equal to the value in the z buffer. This selector should be passed only to drawing engines that support the optional OpenGL features.
kQAZFunction_GE
- A new z value is visible if it is greater than or equal to the value in the z buffer. This selector should be passed only to drawing engines that support the optional OpenGL features.
kQAZFunction_True
- A new z value is always visible.